package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 有条件的获取一个目录中的子项
 */
public  class ListFilesDemo2 {
    public static void main(String[] args) {
        //获取当前目录中名字以"."开头的所有子项
        File dir = new File(".");
        if (dir.isDirectory()){
            //文件过滤器
            FileFilter filter = new FileFilter() {
                /*
                    定义过滤规则，当参数file符合过滤要求那么accept方法应当返回true
                 */
                public boolean accept(File pathname) {
                    String fileName = pathname.getName();
                    return fileName.startsWith(".");
                }
            };
            //重载的listFiles会将该目录中所有满足过滤器要求的子项返回
            File[] subs = dir.listFiles(filter);
            System.out.println("满足过滤器要求的子项共："+subs.length+"个");
            for (int i = 0; i < subs.length; i++) {
                System.out.println(subs[i].getName());
            }

        }
    }
}
